package edu.sandau.basic.service;

import edu.sandau.basic.domain.role;
import edu.sandau.basic.global.GlobalEnum;
import java.util.List;

public interface RoleService {
    /**
     * 添加新角色
     * @param role 角色对象
     * @return 错误码
     */
    GlobalEnum.ErrorCode addRole(role role);

    /**
     * 根据ID获取角色
     * @param id 角色ID
     * @return 角色对象
     */
    role getRoleById(Integer id);

    /**
     * 获取所有角色
     * @return 角色列表
     */
    List<role> getAllRoles();

    /**
     * 根据角色名删除角色
     * @param name 角色名
     * @return 错误码
     */
    GlobalEnum.ErrorCode deleteRoleByName(String name);

    /**
     * 根据角色名查询角色
     * @param name 角色名
     * @return 角色对象，如果不存在则返回null
     */
    role getRoleByName(String name);

    /**
     * 根据角色名更新角色信息
     * @param rolecode 角色代码
     * @param role 角色对象
     * @return 错误码
     */
    GlobalEnum.ErrorCode updateRoleByRolename(String rolecode, role role);
}
